import pandas as pd
import numpy as np

# 创建示例DataFrame
data = {
    'Name': ['Alice', 'Bob', 'Charlie', 'David', 'Eva', 'Frank'],
    'Age': [25, 30, 35, 30, 28, np.nan],  # 包含一个空值
    'Salary': [50000, 60000, 60000, 70000, np.nan, 55000],  # 包含空值和重复值
    'Department': ['Sales', 'Tech', 'Tech', 'Sales', 'HR', 'HR']
}

df = pd.DataFrame(data)
print("原始数据：")
print(df)

# 年龄正序
print('年龄正序：')
print(df.sort_values(by='Age'))

# 薪水倒序
print('薪水倒序：')
print(df.sort_values(by='Salary', ascending=False))

# 多列复杂排序
print('多列复杂排序：')
print(df.sort_values(by=['Department', 'Salary'], ascending=[True, False]))

# 控制空值位置
print('控制空值位置：')
print(df.sort_values(by='Salary',na_position='first'))

# 自定义排序规则
print('自定义排序规则：')
print(df.sort_values(by='Name', key=lambda x: x.str.len()))

# 排序后重置索引
print('排序后重置索引：')
print(df.sort_values(by='Age', ignore_index=True))

# 原地修改
print('原地修改：')
print(df.sort_values(by='Name', inplace=True))